// import html2Canvas from 'html2canvas'
// import JsPDF from 'jspdf'
// export default {
//     install(Vue, options) {
//         Vue.prototype.getPdf = function() {
//             var title = this.htmlTitle
//             html2Canvas(document.querySelector('#pdfDom'), {
//                 allowTaint: true
//             }).then(function(canvas) {
//                 let contentWidth = canvas.width
//                 let contentHeight = canvas.height
//                 let pageHeight = contentWidth / 592.28 * 841.89
//                 let leftHeight = contentHeight
//                 let position = 0
//                 let imgWidth = 595.28
//                 let imgHeight = 592.28 / contentWidth * contentHeight
//                 let pageData = canvas.toDataURL('image/jpeg', 1.0)
//                 let PDF = new JsPDF('', 'pt', 'a4')
//                 if (leftHeight < pageHeight) {
//                     PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight)
//                 } else {
//                     while (leftHeight > 0) {
//                         PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)
//                         leftHeight -= pageHeight
//                         position -= 841.89
//                         if (leftHeight > 0) {
//                             PDF.addPage()
//                         }
//                     }
//                 }
//                 PDF.save(title + '.pdf')
//             })
//         }
//     }

// }
import html2Canvas from "html2canvas";

import JsPDF from "jspdf";

export default {
    install(Vue, options) {
        Vue.prototype.getPdf = function(dom, title) {
            var title = title;

            var c = document.createElement("canvas");

            var opts = {
                scale: 2,
                dpi: 300,
                canvas: c,

                logging: true,

                width: 1400,

                height: 5000,
            };

            c.width = 2800;

            c.height = 10000;

            c.style.width = 2800 + "px";

            c.style.height = 10000 + "px";

            c.getContext("2d").scale(1.9, 1.7);

            html2Canvas(document.querySelector(dom), opts).then(function(canvas) {
                let contentWidth = canvas.width;

                let contentHeight = canvas.height;

                let pageHeight = (contentWidth / 592.28) * 841.89;

                let leftHeight = contentHeight;

                let position = 0;

                let imgWidth = 595.28;

                let imgHeight = (592.28 / contentWidth) * contentHeight;

                let pageData = canvas.toDataURL("image/jpeg", 1.0);

                let PDF = new JsPDF("", "pt", "a4");

                if (leftHeight < pageHeight) {
                    PDF.addImage(pageData, "JPEG", 0, 0, imgWidth, imgHeight);
                } else {
                    while (leftHeight > 0) {
                        PDF.addImage(pageData, "JPEG", 0, position, imgWidth, imgHeight);

                        leftHeight -= pageHeight;

                        position -= 841.89;

                        if (leftHeight > 0) {
                            PDF.addPage();
                        }
                    }
                }

                PDF.save(title + ".pdf");
            });
        };
    },
};